﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийПоступлениеБезналичныхДенежныхСредств
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"8e337b09-966d-496e-9a2d-18c3348e1d67\", \"Представление\":\"ОплатаПокупателя\"}")]
		ОплатаПокупателя = 0,//Оплата от покупателя
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"6d7ed27b-a0ba-4e16-8b97-2779691b4b59\", \"Представление\":\"ВозвратДенежныхСредствПоставщиком\"}")]
		ВозвратДенежныхСредствПоставщиком = 1,//Возврат денежных средств поставщиком
		[EnumMember(Value = "{\"Ссылка\":\"148de074-6039-4799-8eb9-6771e5dca825\", \"Представление\":\"РасчетыПоКредитамИЗаймам\"}")]
		РасчетыПоКредитамИЗаймам = 2,//Расчеты по кредитам и займам
		[EnumMember(Value = "{\"Ссылка\":\"a81317cc-1f71-4c80-a3c8-3ee16a2b7d9e\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 3,//Прочие расчеты с контрагентами
		[EnumMember(Value = "{\"Ссылка\":\"2f27de4c-4fe7-4085-bac4-dbf99044c2bd\", \"Представление\":\"ПриобретениеИностраннойВалюты\"}")]
		ПриобретениеИностраннойВалюты = 4,//Приобретение иностранной валюты
		[EnumMember(Value = "{\"Ссылка\":\"63af9a15-3630-4005-ae14-1df82509fdf9\", \"Представление\":\"ПоступленияОтПродажиИностраннойВалюты\"}")]
		ПоступленияОтПродажиИностраннойВалюты = 5,//Поступления от продажи иностранной валюты
		[EnumMember(Value = "{\"Ссылка\":\"8dc02185-1c3f-41d8-9e25-553518e0aefb\", \"Представление\":\"ПрочееПоступлениеБезналичныхДенежныхСредств\"}")]
		ПрочееПоступлениеБезналичныхДенежныхСредств = 6,//Прочее поступление безналичных денежных средств
		[EnumMember(Value = "{\"Ссылка\":\"86a29209-b744-4fb3-af5b-317be1e43f0e\", \"Представление\":\"ПоступлениеОплатыПоПлатежнымКартам\"}")]
		ПоступлениеОплатыПоПлатежнымКартам = 7,//Поступление оплаты по платежным картам
		[EnumMember(Value = "{\"Ссылка\":\"dd14c074-11f4-4913-b2e9-df29bb0a49ab\", \"Представление\":\"ПоступлениеОплатыПоБанковскимКредитам\"}")]
		ПоступлениеОплатыПоБанковскимКредитам = 8,//Поступление оплаты по банковским кредитам
	}
	public static partial class ВидыОперацийПоступлениеБезналичныхДенежныхСредств_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОплатаПокупателя = new Guid("c3182d9a-8e34-671d-496e-966d8e337b09");//Оплата от покупателя
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПоставщиком = new Guid("7927978b-1b69-594b-4e16-a0ba6d7ed27b");//Возврат денежных средств поставщиком
		public static readonly Guid РасчетыПоКредитамИЗаймам = new Guid("7167b98e-dce5-25a8-4799-6039148de074");//Расчеты по кредитам и займам
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("e13ec8a3-2b6a-9e7d-4c80-1f71a81317cc");//Прочие расчеты с контрагентами
		public static readonly Guid ПриобретениеИностраннойВалюты = new Guid("f9dbc4ba-4490-bdc2-4085-4fe72f27de4c");//Приобретение иностранной валюты
		public static readonly Guid ПоступленияОтПродажиИностраннойВалюты = new Guid("f81d14ae-0925-f9fd-4005-363063af9a15");//Поступления от продажи иностранной валюты
		public static readonly Guid ПрочееПоступлениеБезналичныхДенежныхСредств = new Guid("3555259e-e018-fbae-41d8-1c3f8dc02185");//Прочее поступление безналичных денежных средств
		public static readonly Guid ПоступлениеОплатыПоПлатежнымКартам = new Guid("7b315baf-e4e1-0e3f-4fb3-b74486a29209");//Поступление оплаты по платежным картам
		public static readonly Guid ПоступлениеОплатыПоБанковскимКредитам = new Guid("29dfe9b2-0abb-ab49-4913-11f4dd14c074");//Поступление оплаты по банковским кредитам
		public static ВидыОперацийПоступлениеБезналичныхДенежныхСредств Получить(this ВидыОперацийПоступлениеБезналичныхДенежныхСредств Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийПоступлениеБезналичныхДенежныхСредств Получить(this ВидыОперацийПоступлениеБезналичныхДенежныхСредств Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПокупателя)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя;
			}
			else if(Ссылка == ВозвратДенежныхСредствПоставщиком)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПоставщиком;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймам)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами;
			}
			else if(Ссылка == ПриобретениеИностраннойВалюты)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПриобретениеИностраннойВалюты;
			}
			else if(Ссылка == ПоступленияОтПродажиИностраннойВалюты)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступленияОтПродажиИностраннойВалюты;
			}
			else if(Ссылка == ПрочееПоступлениеБезналичныхДенежныхСредств)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочееПоступлениеБезналичныхДенежныхСредств;
			}
			else if(Ссылка == ПоступлениеОплатыПоПлатежнымКартам)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоПлатежнымКартам;
			}
			else if(Ссылка == ПоступлениеОплатыПоБанковскимКредитам)
			{
				return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоБанковскимКредитам;
			}
			return ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийПоступлениеБезналичныхДенежныхСредств Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийПоступлениеБезналичныхДенежныхСредств Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя: return ОплатаПокупателя;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПоставщиком: return ВозвратДенежныхСредствПоставщиком;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам: return РасчетыПоКредитамИЗаймам;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПриобретениеИностраннойВалюты: return ПриобретениеИностраннойВалюты;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступленияОтПродажиИностраннойВалюты: return ПоступленияОтПродажиИностраннойВалюты;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПрочееПоступлениеБезналичныхДенежныхСредств: return ПрочееПоступлениеБезналичныхДенежныхСредств;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоПлатежнымКартам: return ПоступлениеОплатыПоПлатежнымКартам;
				case ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ПоступлениеОплатыПоБанковскимКредитам: return ПоступлениеОплатыПоБанковскимКредитам;
			}
			return Guid.Empty;
		}
	}
}